Systems and methods for displaying video content relevant to application content

ABSTRACT

Methods, systems and devices for viewing video content are provided. Video content is displayed in a video region of a display, while application content is displayed in an application region of the display. Based on the application content, candidate video content relevant to the application content is determined and, in response to user input, selected video content is displayed in the video region of the display.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. Provisional Patent ApplicationNo. 62/098,687, filed Dec. 31, 2014, the contents of which are herebyincorporated by reference.

TECHNICAL FIELD

The present disclosure generally relates to the viewing of mediacontent. More particularly, the following discussion relates to systems,methods, and devices for viewing video content relating to applicationcontent.

BACKGROUND

Recent years have seen a dramatic increase in the number and type ofmedia content sources that a user typically has access to, including,for example, streaming services, IP video-on-demand, network televisionprogramming, media content stored on digital video recorders, and a widerange of other sources. At the same time, the ubiquity of tabletcomputers, smartphones, and other computing devices has providedincreased options for viewing such content.

While it is increasingly popular to view movies, television programs,and the like while simultaneously employing a web browser or other suchapplication to read news items, perform web searches, and the like, thevideo content and application content are generally not related to eachother, and are typically not presented in a way that enhances the user'sviewing experience.

Accordingly, there is a need for improved systems, devices, andtechniques for viewing video content. These and other desirable featuresand characteristics will become apparent from the subsequent detaileddescription and the claims, taken in conjunction with the accompanyingdrawings and this background section.

BRIEF SUMMARY

Several examples of systems, devices, methods, and user interfaces aredescribed for viewing media content. A method in accordance with oneembodiment includes displaying video content in a video region of adisplay; displaying application content in an application region of thedisplay; determining, based on the application content, candidate videocontent relevant to the application content; determining, in response touser input, selected video content; and displaying the selected videocontent in the video region of the display.

A video content display system in accordance with one embodimentincludes a computing device configured to display video content in avideo region of a display and display application content in anapplication region of the display. The system further includes a mediadevice communicatively coupled to the computing device over a network,the media device including a discovery engine configured to determine,based on the application content, candidate video content relevant tothe application content and determine, in response to user input,selected video content. The computing device is configured to displaythe selected video content in the video region of the display.

A media device in accordance with one embodiment includes a processorand a memory configured to store computer-readable softwareinstructions. The software instructions, when executed by the processor,cause the processor to: produce a first user interface; receive arequest, via the first user interface, to compile a requested pluralityof episodes of a selected media content; determine the availability ofthe requested plurality of episodes from a plurality of media contentsources; compile the requested plurality of episodes; and present asecond user interface including a series-order arrangement of therequested plurality of episodes.

Alternate embodiments, aspects and other features are described in moredetail herein.

BRIEF DESCRIPTION OF THE DRAWING FIGURES

Exemplary embodiments will hereinafter be described in conjunction withthe following drawing figures, wherein like numerals denote likeelements.

FIG. 1 is a block diagram illustrating a place-shifting system in whichthe present embodiments may be implemented.

FIG. 2 is a flowchart depicting a method in accordance with oneembodiment.

FIG. 3 depicts a display layout in accordance with one embodiment.

FIGS. 4-6 illustrate a sequence of video displays illustrating operationof various embodiments.

DETAILED DESCRIPTION

Systems and methods are provided for viewing video content (e.g.,movies, short videos, and the like) relevant to application content(e.g., the contents of a web browser window being viewed alongside thevideo content). Briefly, video content is displayed in a video region ofa display, while application content is displayed in an applicationregion of the display. Based on the application content, candidate videocontent relevant to the application content is determined (e.g., via theparsing of text for keywords) and, in response to user input, theselected video content is displayed in the video region of the display.In that regard, the following detailed description of the invention ismerely exemplary in nature and is not intended to limit the invention orthe application and uses of the invention. Furthermore, there is nointention to be bound by any theory presented in the precedingbackground or the following detailed description.

The systems and methods described herein may be implemented in thecontext of a wide variety of entertainment devices and systems. FIG. 1depicts just one, non-limiting, example: a system 100 for placeshiftingor otherwise transferring data or content, such as a media program (ormedia content), from a source electronic device 108 to a destinationelectronic device 104 over a network 106 for presentation to a user (orviewer) on the destination electronic device 104.

For purposes of explanation, but without limitation, the source device108 may be alternatively referred to herein as a media device or aplaceshifting device, and the destination electronic device 104 may bealternatively referred to herein as a playback device or a client device(or client). The placeshifting system 100 also includes a host server102 (or host) that communicates or otherwise interacts with the devices104, 108 over the network 106 to facilitate establishment of apeer-to-peer connection 180 over the network 106, which may be utilizedfor a placeshifting session.

In one embodiment, as described in further detail below, source device108 includes a discovery engine 191 including any suitable combinationof hardware and/or software configured to locate video content withinone or more content sources (e.g., content source 126) relevant toapplication content (e.g., web browser content) being viewed by a user.

It should be understood that FIG. 1 is a simplified representation ofthe placeshifting system 100 for purposes of explanation is not intendedto limit the subject matter described herein in any way.

In practice, the client device 104 may be any device, component, module,hardware and/or the like that is capable of communicating with theserver 102 over network 106. For example, depending on the embodiment,client device 104 may be realized as a conventional personal computer,portable computer, a tablet computer, workstation and/or other computingsystem, a mobile (or cellular) telephone, a smartphone, a personaldigital assistant, a video game player, and/or any other device capableof receiving media programs via the network 106 and presenting audioand/or visual content. In this regard, the client device 104 includes adisplay device, such as a monitor, screen, or another conventionalelectronic display, capable of graphically presenting visual content,data and/or information that is generated or otherwise provided by anapplication 105, 107 executing on the client 104. The client device 104may further include a user input device, such as a keyboard, a mouse, atouchscreen, or the like, capable of receiving input data and/or otherinformation from the user of the client device 104. The client device104 also includes a processing system and a data storage element (ormemory) that is coupled to or otherwise accessed by the processingsystem and stores programming instructions that, when read and executed,cause the processing system of the client device 104 to generate one ormore applications 105, 107, 109 executing thereon and perform varioustasks, functions, processes and/or operations and support the subjectmatter described herein. The processing system may be realized as anysort of processor, microprocessor, microcontroller, digital signalprocessor, or any other suitable processing device, or any suitablecombination thereof.

The client 104 may reside at a geographic location that is remote orotherwise physically distinct from the geographic location of the mediadevice 108. In this regard, the media device 108 may have an essentiallyfixed or permanent geographic location, whereas the geographic locationof the client 104 may be transient or otherwise variable with respect tothe location of the media device 108. For example, the media device 108may be realized as a set-top box or a similar device that resides at auser's home for providing media content to the user's television orother home display device 140, while the client 104 is realized as aportable electronic device, such as a mobile phone or other mobilecomputing device, that moves about with the user.

In the embodiment shown in FIG. 1, client device 104 executes aconventional browser or other client application 105 that is compatiblewith standard Internet, world wide web (WWW), transmission controlprotocol, and/or Internet Protocol (TCP/IP), and/or other formats. Suchbrowsers are typically capable of displaying active or other documentsformatted in accordance with published protocols and/or computerlanguages (e.g., hypertext markup language (HTML), extensible markuplanguage (XML), cascading style sheets (CSS), Javascript, and/or thelike). Many browsers are also capable of executing “plugin”applications, applets or the like. Such plugins may be formatted inaccordance with ActiveX, JAVA, Javascript and/or any number of otherformats. A number of commonly used web browsers are available for anumber of different computing platforms, and the subject matterdescribed herein is not limited to any particular browser application.In the illustrated embodiment, client 104 further includes a mediaplayer application 107. The media player 107 may be a standalone mediaplayer, or the media player 107 may be implemented as a plugin or otherapplet that runs within the client application 105 as desired. In someembodiments, media player 107 is initially obtained from a networkedhost, such as server 102. The media player 107 may be retrieved on anas-needed basis in some embodiments, or may be stored at client 104 forsubsequent execution.

With continued reference to FIG. 1, in exemplary embodiments, mediadevice 108 is any form of device, module, component, hardware and/or thelike capable of receiving and processing media content from one or morecontent sources. For example, in some embodiments, media device 108 is aset-top box (STB) or similar system that is able to receive televisionprogramming and/or to record certain programs that can be viewed on adisplay device 140, such as a television, monitor, liquid crystaldisplay (LCD), light emitting diode (LED) display, plasma display, orthe like. Exemplary embodiments of media device 108 will thereforeinclude or otherwise be coupled to a receiver interface 142 forreceiving satellite, cable and/or broadcast programming signals frombroadcast sources 112, as well as a data storage medium 110 (e.g., ahard disk, flash memory, or another suitable non-volatile data storageelement) to support a digital video recorder (DVR) feature and/orfunctionality, a display interface 144 for providing imagery to thedisplay device 140, and a control module 146 that directs the operationsof the media device 108 as appropriate. For convenience, but withoutlimitation, the data storage medium 110 is alternatively referred toherein as a DVR. Media device 108 may also include one or moreinterfaces 148 to the network 106 and/or an input/output interface 150to a remote control or other device for providing user inputs to themedia device 108, as appropriate. For example, the network interface(s)148 of the media device 108 may include an interface or port for a wiredcommunications layer (e.g., an Ethernet port or adapter), an interfacefor a wireless communications layer (e.g., an IEEE 802.11-compatibletransceiver), and/or the like.

The components in media device 108 may be provided within a commonchassis or housing as depicted in FIG. 1, although equivalentembodiments may implement media device 108 with any number ofinter-connected but discrete components or systems. For example, in someembodiments, the media device 108 may be realized as a combination of aSTB and a placeshifting device, wherein some features of the mediadevice 108 (e.g., the DVR 110, the receiver 142, the display interface144, and/or I/Os 150) are implemented by the STB and other features ofthe media device 108 (e.g., the network interface 148) are implementedby the placeshifting device, wherein the placeshifting device works inconjunction with the STB to shift the viewing experience from a hometelevision (e.g., display device 140) to a viewing display on the clientdevice 104 that is accessed via the network 106. Examples ofplaceshifting devices that may be used in some embodiments of mediadevice 108 could include any of the various SLINGBOX products availablefrom Sling Media of Foster City, Calif., although other products orservers could be used in other embodiments. Many different types ofplaceshifting devices are generally capable of receiving media contentfrom an external source, such as any sort of DVR or STB, cable orsatellite programming source, DVD player, and/or the like. In otherembodiments, placeshifting features are incorporated within the samedevice that provides content-receiving or other capabilities. Mediadevice 108 may be a hybrid DVR and/or receiver, for example, that alsoprovides transcoding and placeshifting features. It should beappreciated that FIG. 1 depicts merely one exemplary embodiment of amedia device 108, and in practice, the media device 108 may be logicallyand physically implemented in any manner to suit the needs of aparticular embodiment.

In the exemplary embodiment illustrated in FIG. 1, media device 108 iscapable of receiving digital broadcast satellite (DBS) signalstransmitted from a broadcast source 112, such as a satellite, using anantenna 152 that provides received signals to the receiver 142.Equivalent embodiments, however, could receive programming at receiver142 from any sort of cable connection, broadcast source, removablemedia, network service, external device and/or the like. In someembodiments, the media device 108 may also include an access cardinterface or card reader 154 adapted to receive an access card 160 (orviewing card) configured to ensure that the viewer is authorized to viewmedia content provided to the primary display device 140. In thisregard, the access card 160 includes unique identification informationassociated with a particular subscriber to the broadcast content source112 or otherwise includes subscription information that facilitatesreceiving and/or decoding media content provided by the broadcastcontent source 112.

The DVR 110 feature stores recorded programming (e.g., recordedbroadcast programming received via receiver 142) on a hard disk drive,memory, a networked server, or other storage medium as appropriate inresponse to user/viewer programming instructions, wherein the recordedprogramming may be subsequently viewed via the media device 108, eitheron display device 140 or client device 104 via network 106. Contentstored in DVR 110 may be any sort of file-based programming or othercontent that is accessible to media device 108. In various embodiments,in addition to storing broadcast programming, the DVR 110 may also storeprogramming received from other sources not illustrated in FIG. 1, suchas, for example, programming downloaded from an on-demand programmingsource or an online programming source. Additionally, content in DVR 110may be stored in any sort of compressed or uncompressed format, asdesired, and may be encoded or transcoded as desired for effectivereceipt, storage, retrieval and playing.

The control module 146 is any sort of hardware, circuitry, processinglogic and/or other components capable of directing the operations ofmedia device 108. In various embodiments, control module 146 includessoftware or firmware logic and/or other programming instructionsresiding in memory and executing on any sort of processing system, suchas any sort of processor, microprocessor, microcontroller, digitalsignal processor or the like. The instructions, when read and executed,cause the control module 146 to perform various tasks, functions,processes and/or operations and otherwise support the subject matterdescribed herein. In various embodiments, the control module 146 isbased upon a “system on a chip” (SoC) implementation that incorporates ahybrid microcontroller with memory, input/output and other features toperform the various signal processing and other actions of media device108. Other embodiments may implement control module 146 and/or the otherfeatures of media device 108 with any number of discrete and/orintegrated processing components (e.g., any sort of microprocessor ormicrocontroller), memories, input/output features and/or other featuresas desired. The control module 146 communicates with the networkinterface 148 to establish a peer-to-peer connection 180 to the clientdevice 104 over the network 106 and support streaming of media programs(e.g., from the DVR 110 or the receiver 142) to the client device 104over the network 106 via the peer-to-peer connection 180, as describedin greater detail below.

In the embodiment of FIG. 1, the network 106 is any communicationsnetwork (or a combination of communications networks) capable oftransmitting data between devices within the system 100. In variousembodiments, network 106 includes any number of public or private dataconnections, links or networks supporting any number of communicationsprotocols. Network 106 may include the Internet, for example, or anyother network. Such networks may be based upon TCP/IP or otherconventional protocols, although other embodiments may use any type ofalternate or successor protocols, as desired. In various embodiments,network 106 may also incorporate a wireless and/or wired telephonenetwork, such as a cellular communications network for communicatingwith mobile phones, personal digital assistants, and/or the like.Various embodiments of network 106 may also incorporate any sort ofwireless or wired local area networks (LANs), wide area networks (WAN),or the like.

In the illustrated embodiment of FIG. 1, the server 102 may be realizedas one or more server computers or other device(s) coupled to thenetwork 106 and capable of interacting with the devices 104, 108 tofacilitate communications between the client device 104 and the mediadevice 108 associated with the user or operator of the client 104. Theserver 102 may be implemented with a server computer system or dataprocessing system that is based upon any processor, architecture and/oroperating system, and will typically be implemented using a processingsystem 130, memory 132, and input/output features 134. Variousembodiments may be implemented using dedicated or shared hardwareservers; other implementations may make use of virtual server featuresas part of a “cloud computing” service, such as any of the cloudcomputing services provided by any number of providers.

While FIG. 1 illustrates a single server 102, many practical embodimentsof the system 100 may provide a cluster or other collection of multiplehost servers 102 to support any desired number of simultaneouscommunications with multiple clients 104 and/or multiple media devices108. This cluster may also incorporate appropriate routing, loadbalancing, access and security mechanisms and or any number of otherfeatures. In various embodiments, each server 102 is an actual orvirtual computer system executing an operating system 136 in conjunctionwith the processing system 130, memory 132 and/or I/O features 134 toprovide a computing core that is capable of executing a portalapplication 138, as well as any number of daemons, processes,applications or other modules as desired. For example, a portalapplication 138 could execute as a daemon on the server 102, withconnections to separate clients 104 being managed as separate processesor instances that communicate with portal application 138 using featuresprovided by operating system 136. In one or more embodiments, the memory132 stores programming instructions that, when read and executed, causethe processing system 130 to create, generate, or otherwise facilitatethe portal application 138 and perform various tasks, functions,processes and/or operations described herein. In this regard, the memory132 represents any non-transitory short or long term data storageelement or other computer-readable media capable of storing programminginstructions for execution by or on the processing system 130.

The user of the client 104 is able to connect to the portal application138 supported by host 102 via the network 106, for example, by directingthe client application 105 to a URL or other network address associatedwith host 102 and/or portal application 138. In exemplary embodiments,after the user is successfully authenticated by the portal application138, the host 102 and/or portal application 138 establishes a connection170 over the network 106 to the media device 108 that is associated withthe user. Thereafter, the host 102 and/or the portal application 138utilizes the connection 170 to obtain, from the media device 108 via thenetwork 106, information about programming stored at the media device108 and available for placeshifting to the client device 104, such as,for example, a listing of the media programs stored on DVR 110. Itshould be noted that although FIG. 1 depicts the network connection 170as being between the host 102 and the media device 108, in practice, theplaceshifting system 700 may include one or more intermediary components(e.g., one or more message servers) configured to establish, facilitate,or otherwise support the connection 170.

Server 102 is coupled to an electronic program guide 122, which may berealized as a server, a database, or another device operating on thenetwork 106 that maintains information pertaining to current and/orfuture broadcasts (or airings) of media programs that are available tobe received from broadcast source 112 (e.g., by the media device 108 viareceiver 142 and/or antenna 152). The server 102 and/or the portalapplication 138 may obtain information pertaining to current and/orfuture broadcasts (or airings) of media programs from the electronicprogram guide 122 and generate or otherwise provide a program guidegraphical user interface (GUI) display on the client device 104 (e.g.,within client application 105) that indicates media programs that are orwill be available for streaming from the media device 108. The user ofthe client device 104 may manipulate or otherwise utilize the graphicaluser interface (or the graphical user interface elements containedtherein) to select or otherwise identify media programs for streaming tothe client device 104 and/or recording to the DVR 110. The user maypause or otherwise stop presentation of the streamed media program andmanipulate or otherwise operate the client application 105 to transmitor otherwise provide 412, via the network 106, a request for content toa third-party content source 126 (e.g., a third-party website). Thethird-party content source 126 responds to the request by transmittingor otherwise providing content to the client device 104 via the network106.

In the illustrated embodiment of FIG. 1, the placeshifting system 100also includes a media program database 124 that includes verified orvalidated metadata and/or other descriptive information for a vast arrayof media programs. For example, the media program database 124 maycontain metadata and/or other descriptive information pertaining tosubstantially all of the media programs that may be available from oneor more content sources within placeshifting system 100 (e.g.,information pertaining to any media programs that have previously beenaired by a broadcast source 112, along information pertaining to anymovie that has been presented in theaters, made available on-demand, orreleased for individual use (e.g., on digital video disc (DVD) or thelike)). In exemplary embodiments, for each media program having a record(or entry) in the media program database 124, the media program database124 maintains a media data object that includes one or more fields ofmetadata associated with that media program along with one or morefields of program identifiers that may be used to identify that mediaprogram record. In this regard, the program guide 122 and the mediaprogram database 124 may utilize the same program identifiers touniquely identify each media program.

Having thus given an overview of an exemplary system in which thevarious embodiments described herein may be employed, an exemplarymethod will now be generally described in conjunction with FIGS. 1 and2. Initially, at step 202, video content is displayed in a video region(e.g., a display associated with computing device 104 of FIG. 1) whileapplication content is simultaneously displayed in an application regionof the display. The application and video regions of the display may beconfigured in a variety of ways (e.g., side-by-side, top-to-bottom,etc.). More particularly, referring briefly to FIG. 3, an exemplarylayout 300 includes a notification header region 308, a video region 302near the left side of the display, an application region 304 to theright of video region 304, and an options region 306 adjacent the bottomportion of video region 302. Those skilled in the art will recognizethat the particular geometry, size, and placement of regions 302, 304,306, and 308 are not intended to be limiting. However, the layout 300illustrated in FIG. 3 is desirable in that it allows video content to beviewed in a relatively large window 302 alongside a slightly narrowerregion 304 allowing application content (e.g., a news feed, searchresults, etc.) to be viewed on the right.

Referring again to FIG. 2, the method includes (at step 204)determining, based on application content, candidate video content. Thisstep may be performed in a variety of ways and by one or more componentsillustrated in FIG. 1. For example, any text appearing within theapplication content displayed in application region 304 may be parsedfor keywords (e.g., “homeland,” “earthquakes,” etc.), and those keywordsmay be used to query a database of available video content. Parsing ofthe text may be performed, in one embodiment, by computing device 104(e.g., through a javascript application, browser plug-in, or the like).The set of keywords may then be transmitted to media device 108 overnetwork 106 and further processed by discovery engine 191. In oneembodiment, discovery engine 191 utilizes the set of keywords to querymedia program database 124, thereby determining candidate video contentmatching (e.g., via natural language processing) the set of keywords.

Next, at step 206, the candidate video content is presented to the user,allowing the user to select the desired video content. The selectedvideo content is then displayed within the video region 302, displacingthe video that the user had been previously viewing.

Having thus given a general overview of a method in accordance with oneembodiment, FIGS. 4-6 present a sequence of images corresponding to aparticular, non-limiting example. As shown in FIG. 4, video content 430(e.g., a streaming movie as shown) is displayed within a video region430 alongside application content (news items 420A-C) within anapplication region 404. Also shown is a notification bar 408 (e.g., fordisplaying social networking status, alerts, and other suchnotifications) and a list of content sources 410A, 410B within anoptions region 406. As will be apparent, news items 420A-C, which relateto news regarding North Korea, do not relate to video content 430 beingdisplayed within video region 402.

Referring to FIG. 5, application region 404 reflects the case where theuser has selected news item 420A of FIG. 4, resulting in an expandednews story being displayed within application region 404. At this point,the text within application region 404 may be parsed (e.g., by a plug-inor other application running on the device on which video content 430 isbeing displayed) to determine relevant keywords (e.g., “North Korea”,“German Shepherd”, “Kim Jong-Un”, etc.). As mentioned above, thesekeywords can then be transmitted to a remote device (e.g., device 108)capable of querying an external database (e.g., media program database124) to locate candidate video content whose title or other metadatamatches to some extent the set of relevant keywords.

FIG. 6 illustrates the result, in which the candidate video content610A, 610B is displayed within options regions 406. That is, thumbnailsof relevant videos (i.e., each relating to North Korea) are presented tothe user, and a selected video (630) is being displayed within videoregion 402.

Many other modifications and enhancements could be provided in a widearray of alternate but equivalent embodiments. The term “exemplary” isused herein to represent one example, instance or illustration that mayhave any number of alternates. Any implementation described herein asexemplary is not necessarily to be construed as preferred oradvantageous over other implementations. While several exemplaryembodiments have been presented in the foregoing detailed description,it should be appreciated that a vast number of alternate but equivalentvariations exist, and the examples presented herein are not intended tolimit the scope, applicability, or configuration of the invention in anyway. To the contrary, various changes may be made in the function andarrangement of elements described without departing from the scope ofthe claims and their legal equivalents.

What is claimed is:
 1. A method of viewing video content, comprising:displaying video content in a video region of a display; displayingapplication content in an application region of the display;determining, based on the application content, candidate video contentrelevant to the application content; determining, in response to userinput, selected video content; and displaying the selected video contentin the video region of the display.
 2. The method of claim 1, whereindetermining the candidate video content includes parsing text of theapplication content to determine a set of keywords, and querying a videocontent database for the set of keywords.
 3. The method of claim 1,wherein the application content is displayed via a web browser.
 4. Themethod of claim 3, wherein the web browser includes a software plug-inconfigured to parse text of the application content to produce a set ofkeywords, and transmit the set of keywords to a media device over anetwork.
 5. A video content display system, comprising: a computingdevice configured to display video content in a video region of adisplay and display application content in an application region of thedisplay; wherein a media device communicatively coupled to the computingdevice over a network, the media device including a discovery engineconfigured to determine, based on the application content, candidatevideo content relevant to the application content and determine, inresponse to user input, selected video content; wherein the computingdevice is configured to display the selected video content in the videoregion of the display.
 6. The system of claim 5, wherein the candidatevideo content is determined by parsing text of the application contentto determine a set of keywords, and querying a video content databasefor the set of keywords.
 7. The system of claim 5, wherein theapplication content is displayed via a web browser.
 8. The system ofclaim 7, wherein the web browser includes a software plug-in configuredto parse text of the application content to produce a set of keywords,and transmit the set of keywords to a media device over a network. 9.Non-transitory computer-readable media bearing software instructionsthat, when executed by a processor, cause the processor to: displayvideo content in a video region of a display; display applicationcontent in an application region of the display; determine, based on theapplication content, candidate video content relevant to the applicationcontent; determine, in response to user input, selected video content;and display the selected video content in the video region of thedisplay.
 10. The non-transitory computer-readable media of claim 9,wherein determining the candidate video content includes parsing text ofthe application content to determine a set of keywords, and querying avideo content database for the set of keywords.
 11. The non-transitorycomputer-readable media of claim 9, wherein the application content isdisplayed via a web browser.
 12. The non-transitory computer-readablemedia of claim 11, wherein the web browser includes a software plug-inconfigured to parse text of the application content to produce a set ofkeywords, and transmit the set of keywords to a media device over anetwork.